notifyicon(网站app制作如何植入聊天机器人的客服系统)

1. notifyicon,网站app制作如何植入聊天机器人的客服系统?

1,首先自己下载工具,搭建一个Android开发环境,去百度一下(安卓开发环境搭建),有详细步骤。

2,百度搜索“图灵机器人”,去注册一个账号,获取api key,用来调用图灵机器人的数据。

2

把API key 复制下来放在一个记事本,之后要在代码中用的。

3

先新建一个Android工程,我的工程名为:Person,源代码在com.shenbin.person包下,MainActivity是Android的activity。

还包括HttpDate类,HttpGetDateListener类,ListDate类,TextAdapter类

//MainActivity代码:

/*下面的代码修改

httpDate = (HttpDate) new HttpDate("http://www.tuling123.com/openapi/api?key=********&info=" +droph,this).execute();

把********替换成自己的API key

*/

package com.shenbin.person;

import java.text.SimpleDateFormat;import java.util.ArrayList;import java.util.Date;import java.util.List;

import org.json.JSONException;import org.json.JSONObject;

import android.os.Bundle;import android.app.Activity;import android.view.View;import android.view.View.OnClickListener;import android.widget.Button;import android.widget.EditText;import android.widget.ListView;

public class MainActivity extends Activity implements HttpGetDateListener,OnClickListener{ //实现接口

private HttpDate httpDate; private List<ListDate> lists; private ListView lv; private EditText getText; private Button send_btn; private String content_str; private TextAdapter adapter; private String [] welcome_array; private double currentTime,oldTime = 0; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); initView(); //httpDate = (HttpDate) new HttpDate("http://www.tuling123.com/openapi/api?key=5692c0d167fc5a180d092efaab578617&info=你好", //this).execute(); }

private void initView() { lv = (ListView) findViewById(R.id.lv); getText = (EditText) findViewById(R.id.sendText); send_btn = (Button) findViewById(R.id.send_btn); //send_btn.setOnClickListener((android.view.View.OnClickListener) this); send_btn.setOnClickListener(this); lists = new ArrayList<ListDate>(); adapter = new TextAdapter(lists, this); lv.setAdapter(adapter); ListDate listDate = null ; listDate = new ListDate(getRandomWelcomeTips(),listDate.RECEIVER,getTime()); lists.add(listDate);

} private String getRandomWelcomeTips() { String welcome_tip = null; welcome_array = this.getResources().getStringArray(R.array.welcome_tips); //获得string。xml的欢迎语 int index = (int) (Math.random()*(welcome_array.length-1)); welcome_tip = welcome_array[index]; return welcome_tip; } @Override public void getDateUrl(String date) { // TODO 自动生成的方法存根 //System.out.println(date); parseText(date); } public void parseText(String str) { try { JSONObject jb = new JSONObject(str); //System.out.println(jb.getString("code")); //System.out.println(jb.getString("text")); ListDate listDate = null; listDate = new ListDate(jb.getString("text"),listDate.RECEIVER,getTime()); lists.add(listDate); adapter.notifyDataSetChanged(); } catch (JSONException e) { // TODO 自动生成的 catch 块 e.printStackTrace(); } }

@Override public void onClick(View v) { getTime(); content_str = getText.getText().toString(); getText.setText(""); String dropk = content_str.replace(" ", ""); String droph = dropk.replace("\n", ""); ListDate listDate; listDate = new ListDate(content_str,ListDate.SEND,getTime()); lists.add(listDate); //如果太多了,就移除一些 if (lists.size() > 30) { for (int i = 0; i < lists.size(); i++) { lists.remove(i); } } adapter.notifyDataSetChanged(); httpDate = (HttpDate) new HttpDate("http://www.tuling123.com/openapi/api?key=********&info=" +droph,this).execute();

} private String getTime() { currentTime = System.currentTimeMillis(); SimpleDateFormat format = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss"); Date curDate = new Date(); String str = format.format(curDate); if (currentTime - oldTime > 5*60*1000) { oldTime = currentTime; return str; }else { return ""; } }

}

//HttpDate类代码

package com.shenbin.person;

import java.io.BufferedReader;import java.io.InputStream;import java.io.InputStreamReader;

import org.apache.http.HttpEntity;import org.apache.http.HttpResponse;import org.apache.http.client.HttpClient;import org.apache.http.client.methods.HttpGet;import org.apache.http.impl.client.DefaultHttpClient;import android.os.AsyncTask;

public class HttpDate extends AsyncTask<String, Void, String>{ private HttpClient mHttpClient; //客户端 private HttpGet mHttpGet; //请求方式为get private String url; //请求的地址 private HttpResponse mHttpResponse; //请求返还 private HttpEntity mHttpEntity; //创建实体 private InputStream in; private HttpGetDateListener listener; //获得接口

public HttpDate(String url,HttpGetDateListener listener) { this.url = url; this.listener = listener; } @Override protected String doInBackground(String... arg0) { // TODO 自动生成的方法存根 try { mHttpClient = new DefaultHttpClient(); //实例化客户端 mHttpGet = new HttpGet(url); mHttpResponse = mHttpClient.execute(mHttpGet); mHttpEntity = mHttpResponse.getEntity(); in = mHttpEntity.getContent(); BufferedReader br = new BufferedReader(new InputStreamReader(in)); String line = null; //获取数据 StringBuffer sb = new StringBuffer(); while (( line = br.readLine()) != null) { sb.append(line); } return sb.toString(); } catch (Exception e) { // TODO: handle exception } return null; } @Override protected void onPostExecute(String result) { // TODO 自动生成的方法存根 listener.getDateUrl(result); super.onPostExecute(result); }

}

//HttpGetDateListener类代码

//接口

package com.shenbin.person;

public interface HttpGetDateListener {

void getDateUrl(String date);}

//ListDate类代码

package com.shenbin.person;

import android.R.integer;

public class ListDate { private String content; public static final int SEND = 1; public static final int RECEIVER = 2; private int flag; private String time; public ListDate(String content,int flag,String time) { // TODO 自动生成的构造函数存根 setContent(content); setFlag(flag); setTime(time); } public void setContent(String content) { this.content = content; }

public String getContent() { return content; }

public int getFlag() { return flag; }

public void setFlag(int flag) { this.flag = flag; }

public String getTime() { return time; }

public void setTime(String time) { this.time = time; }

}

//TextAdapter类代码

package com.shenbin.person;

import java.net.ContentHandler;import java.util.List;

import javax.security.auth.PrivateCredentialPermission;

import android.R.layout;import android.content.Context;import android.view.LayoutInflater;import android.view.View;import android.view.ViewGroup;import android.webkit.WebView.FindListener;import android.widget.BaseAdapter;import android.widget.RelativeLayout;import android.widget.TextView;

public class TextAdapter extends BaseAdapter{ private List<ListDate> lists; private Context nContext; private RelativeLayout layout; public TextAdapter(List<ListDate> lists,Context nContext) { this.lists = lists; this.nContext = nContext; }

@Override public int getCount() { // TODO 自动生成的方法存根 return lists.size(); }

@Override public Object getItem(int pesition) { return lists.get(pesition); }

@Override public long getItemId(int pesition) { // TODO 自动生成的方法存根 return pesition; }

@Override public View getView(int pesition, View converView , ViewGroup parent) { LayoutInflater inflater = LayoutInflater.from(nContext); if (lists.get(pesition).getFlag() == ListDate.RECEIVER) { layout = (RelativeLayout) inflater.inflate(R.layout.leftitem, null); } if (lists.get(pesition).getFlag() == ListDate.SEND) { layout = (RelativeLayout) inflater.inflate(R.layout.rightitem, null); } TextView tv = (TextView) layout.findViewById(R.id.tv); tv.setText(lists.get(pesition).getContent()); TextView time = (TextView) layout.findViewById(R.id.time); time.setText(lists.get(pesition).getTime()); return layout; }

}

activity_main.xml的代码:

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" android:paddingBottom="@dimen/activity_vertical_margin" android:paddingLeft="@dimen/activity_horizontal_margin" android:paddingRight="@dimen/activity_horizontal_margin" android:paddingTop="@dimen/activity_vertical_margin" tools:context=".MainActivity" >

<ListView android:id="@+id/lv" android:layout_width="fill_parent" android:layout_height="0dp" android:layout_weight="1" android:divider="@null" android:listSelector="@android:color/transparent" android:transcriptMode="alwaysScroll" ></ListView> <LinearLayout android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="horizontal" > <EditText android:id="@+id/sendText" android:layout_width="0dp" android:layout_height="wrap_content" android:layout_weight="1" /> <Button android:id="@+id/send_btn" android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/send" /> </LinearLayout>

</LinearLayout>

leftitem.xml代码

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/time" android:layout_width="fill_parent" android:gravity="center_horizontal" android:layout_height="wrap_content" /> <ImageView android:layout_below="@id/time" android:id="@+id/iv" android:layout_width="70dp" android:layout_height="70dp" android:padding="10dp" android:src="@drawable/c" /> <TextView android:layout_below="@id/time" android:layout_toRightOf="@id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv" android:gravity="center" android:background="@drawable/d" />

</RelativeLayout>

rightitem.xml代码

<?xml version="1.0" encoding="utf-8"?><RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layout_height="match_parent" > <TextView android:id="@+id/time" android:layout_width="fill_parent" android:gravity="center_horizontal" android:layout_height="wrap_content" /> <ImageView android:layout_below="@id/time" android:layout_alignParentRight="true" android:id="@+id/iv" android:layout_width="70dp" android:layout_height="70dp" android:padding="10dp" android:src="@drawable/b" /> <TextView android:layout_below="@id/time" android:layout_toLeftOf="@id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/tv" android:gravity="center" android:background="@drawable/d" />

</RelativeLayout>

values文件下的strings.xml代码

<?xml version="1.0" encoding="utf-8"?><resources>

<string name="app_name">小兵机器人</string> <string name="action_settings">Settings</string> <string name="hello_world">小兵聊天机器人</string> <string name="send">发送</string> <string-array name="welcome_tips"> <item>主人,奴婢在此等候多时了</item> <item>主人,近来可好</item> <item>欢迎归来,我亲爱的主人</item> <item>主人,我好想你啊</item> <item>主人,你越来越靓啦</item> <item>我是小兵机器人,很高兴陪你聊天</item> <item>我就是聪明,可爱的小兵机器人</item> <item>hello,美女(帅锅)</item> <item>你是我的小呀小苹果</item> <item>开心的话,可以找我聊天,不开心更要找我聊天啦</item> </string-array>

</resources>

AndroidManifest.xml的代码

添加的代码为加黑的粗体。

<?xml version="1.0" encoding="utf-8"?><manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.shenbin.person" android:versionCode="1" android:versionName="1.0" >

<uses-sdk android:minSdkVersion="8" android:targetSdkVersion="18" /> <uses-permission android:name="android.permission.INTERNET"/>

<application android:allowBackup="true" android:icon="@drawable/ic_launcher" android:label="@string/app_name" android:theme="@style/AppTheme" > <activity android:name="com.shenbin.person.MainActivity" android:label="@string/app_name" > <intent-filter> <action android:name="android.intent.action.MAIN" />

<category android:name="android.intent.category.LAUNCHER" /> </intent-filter> </activity>

notifyicon(网站app制作如何植入聊天机器人的客服系统)

2. 右键点击托盘图标怎么弄?

要在Windows中实现右键点击托盘图标的功能,您可以按照以下步骤进行操作:1. 首先,您需要创建一个Windows应用程序,可以使用C#、C++或其他适合的编程语言来编写。2. 在应用程序的代码中,您需要使用相关的Windows API来实现托盘图标功能。这可以通过使用Shell_NotifyIcon函数来完成。3. 在应用程序的初始化阶段,您需要调用Shell_NotifyIcon函数来创建一个托盘图标。您需要提供托盘图标的相关参数,如图标、提示信息等。4. 在应用程序中,您需要处理WM_SYSCOMMAND消息,以便在接收到鼠标右键点击事件时执行相应的操作。5. 在处理WM_SYSCOMMAND消息的代码中,您可以根据特定的命令ID来执行相应的操作。例如,您可以显示一个上下文菜单或执行其他自定义操作。请注意,具体的实现步骤可能因语言和平台而异。以上步骤仅提供了一个大致的思路,您需要根据您的具体情况进行适当的调整和编码。

3. 如何修改电脑任务栏自定义项目?

巧妙清除属性中过去的项目巧妙清除Windows XP任务栏的隐藏图标记录, 在Windows XP中的自动隐藏不活动的图标,可以解决系统托盘区占用过多的任务栏空间。

可时间长了,右击任务栏空白处选择“属性”,在“任务栏”选项中点击“自定义”按钮 ,会在“过去的项目”栏里看到很多历史记录,删除这些项目的方法是:“开始菜单”--->“运行”输入regedit打开注册表,找到“HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ Explorer\TrayNotify”,其中“IconStreams”项存储着“当前项目”而“PastIconsStream”项存储着“过去的项目”,将“TrayNotify”项里的数据值删除,按Ctrl+Alt+Del组合键调出“Windows任务管理器”,单击进程选项卡,选择explorer.exe,结束进程。

之后在“Windows任务管理器”中选“文件”→“新建任务”,在“创建新任务”中输入explorer.exe即可。不需要重启!!

4. wpf怎么最小化到任务栏?

添加一个命名空间using System.Windows.Forms; // NotifyIcon control关键代码如下

5. 电脑开机老提示盗版系统?

电脑开机时老提示windows盗版,出现这种情况,可以用以下方法解决:

1、运行regedit进入注册表,HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon\Notify\WgaLogon,删除它,重新启动。wgatray.exe就不会自动启动了,讨厌的“你可能是盗版软件的受害者”也就不见了。

2、把系统盘:\windows\system32中的wgatray.exe删除,烦人的“图标”没有了。(建议在安全模式下进行:启动电脑中按F8进入安全模式)

3、彻底清除相关多余垃圾,运行搜索文件wgatray,在另外的文件夹下还有,统统删除。

6. administrator桌面不见了怎么办?

在桌面空白处右键选择个性化,进入个性化之后,左边栏选择“更改桌面图标”

在“桌面图标设置”中,勾选“用户的文件”,然后点击确定,就可以在桌面看到

Administrator图标了

1、单击“开始”,在“开始搜索”框中键入 regedit,然后按 Enter。如果系统提示您输入管理员密码或进行确认,请键入密码或单击“允许”。

2、找到并单击下面的注册表子项:HKEY_CURRENT_USER\Software\Classes\Local Settings\Software\Microsoft\Windows\CurrentVersion\TrayNotify

3、在“详细信息”窗格中,单击“IconStreams”注册表项。

4、在“编辑”菜单上,单击“删除”,然后单击“是”。

5、在“详细信息”窗格中,单击“PastIconsStream”注册表项。

6、在“编辑”菜单上,单击“删除”,然后单击“是”。

7、退出注册表编辑器。

8、重新启动 Explorer.exe 进程。

7. 气泡弹窗怎么删?

电脑弹窗的软件基本都是常用的软件,比如:QQ、当下正在使用的浏览器、电脑安装的管家类软件等等,全部删除掉电脑就不能用了。建议使用第三方广告屏蔽类工具给屏蔽掉(这一类工具都比较小),下面用净网大师演示屏蔽流程:

一、首先鼠标左键双击打开已经安装好的净网大师图标(同类型的广告屏蔽工具有很多,可以使用其它工具代替)。

二、打开净网大师之后,点击进入净网首页。

三、在首页中开启过滤不良信息和净网模式,开启这两个功能之后就能够自动过滤掉电脑上绝大多数的弹窗广告。

四、如果遇到部分比较顽固的弹窗,可以进入弹窗抓取界面,使用立即抓取功能,抓取顽固弹窗,强制屏蔽弹窗软件的所有弹窗。

免责声明:本文作者:“游客”,版权归作者所有,观点仅代表作者本人。本站仅提供信息存储分享服务,不拥有所有权。信息贵在分享,如有侵权请联系ynstorm@foxmail.com,我们将在24小时内对侵权内容进行删除。
(123)
奥林匹克运动的格言(奥林匹克文化具有哪五
上一篇 2024年07月19日
暂无数据
下一篇 2024年07月19日

相关推荐

  • 角鲨烯的十大功效(角烷鲨护肤原理)

    说到“角鲨烷”,就不得不说“角鲨烯”,角鲨烯是自然界的一种成分,在动物体内和部分植物油脂中广泛存在。其中,以鲨鱼的肝脏中含量最高,角鲨烯也是首先从鲨鱼肝脏中提取,所以这种油脂成分就叫做角鲨烯。...

    2023年12月27日
  • 支付宝深入东南亚 欲普及担保交易模式

    近日,阿里巴巴CEO张勇在湖畔大学的授课中回顾支付宝业务分离出来时,指出,阿里巴巴收购的东南亚最大电商Lazada货到付款的比例依旧很高,并非一个风险收益对称性的交易,因此,Alipay要进入东南亚,让担保交易在东南亚能够起来。张勇表示,La...

    2023年12月30日
  • 乘风破浪的姐姐淘汰名单(乘风破浪的姐姐淘汰名单已出)

    许飞会被淘汰其实是可以猜到的,毕竟之前她和尚雯婕结下梁子,就因为炒作过度而引起了不少人的反感,现在来参加这档节目,也让不少观众觉得不配。...

    2024年01月11日
  • 周边-日月潭(日月潭周边景点)

    日月潭,台湾风景当之无愧的代名词之一,距离台中约1.5小时车程。日月潭除了拥有山明水秀的旖旎风光外,景区内的环湖自行车道还入选了全球十大最美自行车道,骑车或游船皆宜哦。坐游船参观拉鲁岛建议游玩1-2小时日月潭素有青山拥碧水,明潭抱绿珠的美誉,...

    2024年02月19日
  • 天下足球坎通纳(足坛中有哪些世界级球星职业生涯中没有参加过世界杯)

    如果一名球员没有参加过世界杯,那么他的职业生涯就有着无法弥补的缺憾,尤其对于那些身怀绝技、名扬天下的球星来说,如果从来没有在世界杯赛场上纵横驰骋,即使他获得过再多的荣誉和成就,也难免会显得有些暗淡。...

    2024年03月24日
  • 大连万科魅力之城(万科魅力之城买菜一般在哪买)

    万科房子质量怎么样看完这个就知道了【万科,你的设计很垃圾!你处理问题的态度,最套路!-今日头条】https://m.toutiaocdn.com/i6829953610814587392/?app=news_article&amp;times...

    2024年03月26日
  • 上海公务员分数线(上海中考2023成绩650什么水平)

    2023年上海中考650分属于优秀水平,因为2023年上海中考总分是750分,中考最低投档线520分,650分超出了最低投档线150分,这个成绩需要学生不懈努力,在高中的选择上自由度很大,属于优秀水平。上海中考各科分数为:语文150分、数学1...

    2024年04月15日
  • 大亨传说(传奇大亨陈乔恩多少集出场)

    陈乔恩在第二十九集出场,以一位选美小姐身份出现在顾延枚面前。在陈乔恩出场之前,就有人提前做铺垫,夸陈乔恩长得漂亮又有才,给陈乔恩营造一种声势,等到陈乔恩出场之后,由于做的糗事和之前夸赞大相径庭,就给人留下了更深刻的印象。...

    2024年05月15日
  • 龙岗区布吉高级中学(福田中学2018高考喜报)

    参加高考人数603人,物理类本科上线338人,历史类本科上线181人,本科上线率86.1%。创历史新高。...

    2024年06月09日
  • 13岁男孩破魔方纪录(让你最难忘的一款游戏是什么游戏)

    不管是文学、绘画、雕塑、摄影、电影……都是载体,只要匠心独运,情怀悠远,游戏就可以成为当之无愧的“第九艺术”。以下纯属个人喜好,排名不分先后:...

    2024年07月10日
返回顶部